package com.tedu.API.date;

import java.util.Calendar;
import java.util.Date;

/**包位置：java.util
 * Calendar抽象类:时间类
 * 替换Date时间方法的功能：
 * 1.计算时间分量：根据时间毫秒数算换时间：年  月   日   时   分   秒
 * 2.设计时间分量：修改年月日时毫秒，底层用毫秒数算的时间
 * 3.增加/减少时间分量：增加/减少指定毫秒量
 * Calendar cl=Calendar.getInstance();
 * Calendar.getInstance()---封装Calendar的new功能
 */
public class CalendarAPI {
    public static void main(String[] args) {
        Calendar cl= Calendar.getInstance();
        //get()获取年月日、时分秒【毫秒数：常量--年月日时分秒】
        int year=cl.get(Calendar.YEAR);//获取年
        int yue=cl.get(Calendar.MONTH)+1;
        int ri=cl.get(Calendar.DAY_OF_MONTH);
        //输出：今年是2024 9月26日  现在的时间：9：28：xx
        System.out.println("今年是："+year+"年"+yue+"月"+ri+"日");
        int shi=cl.get(Calendar.HOUR);
        int fen=cl.get(Calendar.MINUTE);
        int miao=cl.get(Calendar.SECOND);
        System.out.println("现在的时间："+shi+"时"+fen+"分"+miao+"秒");
        //设置到明年今天   /    设置到今天的今天
        //set(改变的时间，绝对的时间)
        cl.set(Calendar.YEAR,2025);
        Date a=cl.getTime();
        System.out.println("明年今天："+a);
        //add(改变时间，绝对时间)
        cl.add(Calendar.YEAR,-2);
        a=cl.getTime();
        System.out.println("减少一年："+a);
        //检查一个月最大天数【总天数】
        int day=cl.getActualMaximum(Calendar.DAY_OF_MONTH);
        System.out.println("本月最大天数："+day);
    }
}
